package com.silverbox.sweeporder.service.index;

import com.silverbox.core.result.CoreResponse;
import com.silverbox.sweeporder.controller.auth.vo.outvo.SmallProgramAuthVO;

public interface AuthService {

	/**
	 * 获取扫商品二维码跳转路径
	 * 如果商品为单规格不是套餐且无属性则直接将该商品添加到购物车，返回购物车页面路径
	 * 反之返回商品详情页面路径
	 * @return
	 */
	String getGoodsShowPath(Integer storeId, Integer goodsId, Long sizeId, String buyerId, Integer authMode);
	
	/**
	 * 扫码下单授权回调后判断路径跳转
	 * @param buyerId 
	 * @param tableInfoId 
	 * @param storeId 
	 * @param shopperId 
	 * @param reserveHexiao 
	 */
	String getRedirectPath(Integer shopperId, Integer storeId, Integer tableInfoId, String buyerId,String accessToken,Integer orderSource,Integer source, String reserveHexiao,Integer bindType);

	/**
	 * 在线订单授权回调后判断路径跳转
	 * @param storeId
	 * @param buyerId
	 * @param reserveHexiao 
	 * @param tableInfoId
	 * @param orderNum
	 * @return
	 */
	String getRedirectOnlinePath(Integer storeId, String buyerId,Integer shopperId,String accessToken,Integer orderSource,Integer source, String reserveHexiao,Integer bindType);

	/**
	 * 根据authCode获取access_token、user_id进去授权
	 * @param storeId
	 * @param shopperId
	 * @param authCode
	 * @return
	 */
	String alipayAuth(Integer storeId, Integer shopperId, String authCode,Integer bindType);

	/**
	 * 支付宝小程序获取扫码点餐前端页面地址
	 * @param storeId
	 * @param shopperId
	 * @param tableInfoId
	 * @param buyerId
	 */
	String miniProgramRedirectPath(Integer storeId, Integer tableInfoId, Long buyerId, String tableName,
			Integer orderSource, Integer source,Integer bindType);
}
